package groovy闭包

class 闭包中的一些方法 {

    static void main(String[] args) {
//        test1();
//        test2();
//        test3();
//        test4();
        test5();
    }

    /*集合里面的find()方法的演示*/

    static void test1() {
        def list = [1, 2, 3, 4, 5, 6];
        def value;
        /*find方法用于匹配集合里面的第一个元素*/
        value = list.find {
            element -> element > 2;
        }
        println(value);
    }

    /*findAll()*/

    static void test2() {
        def list = [1, 2, 3, 4, 5, 6];
        def values;
        values = list.findAll {
            element -> element > 2;
        }
        values.each {
            println it;
        }
    }

    /*any()方法*/
    static void test3() {
        def list = [1, 2, 3, 4, 5, 6];
        def value;
        def value2;
        /*any()方法用于获取列表中是否存在满足条件的元素*/
        value = list.any { element -> element > 2 };
        println value;

        value2 = list.any { element -> element > 4 };
        println value2;
    }

    /*every()方法用于判断列表这中的元素，是否是每一个元素都满足条件*/
    static void test4(){
        def list=[1,2,3,4];
        def value;
        value=list.every{
            element -> element>2;
        }
        println value;
    }

    /*collect()方法的作用*/
    /*collect()方法用于拿到集合中的每一个元素，然后对元素进行处理*/
    static void test5(){
        def list=[1,2,3,4,5,6];
        def newList=[];
        newList=list.collect{
            element -> return element*element;
        }
        println newList;
    }

}